Contention management techniques for reservation-based TDMA systems

ABSTRACT

The invention is directed to techniques for improving upstream communication in a DOCSIS-based cable network or other reservation-based TDMA system. In one example, the techniques may involve dynamically adjusting the size of a contention region in a MAP interval in which upstream time slot allocation is conveyed by a MAP message broadcasted by a cable modem transmission system (CMTS) to cable modems (CMs) sharing a common upstream DOCSIS channel. By adjusting the size of the contention region in the MAP intervals based on measured traffic parameters, the system can be dynamically responsive to different upstream traffic scenarios and thereby exploit maximal upstream data throughput continually.

FIELD

The invention relates to cable networks configured to supportpacket-based data communication, and other time division multiple access(TDMA) systems that utilize reservation-based medium access techniques.

BACKGROUND

Cable networks were originally developed to facilitate the distributionof television broadcasts. Cable networks generally use coaxial cables astransmission lines for the dissemination of television broadcasts tovarious homes, businesses and the like. Cable networks were designed tosupport one-way communication of broadcast signals from a broadcastcenter to a number of television nodes connected to the cable network.

The “Internet” is a well-known term that refers to collection of datanetworks that utilize layered protocols to route data packets to variouslocations around the world. Internet carries and processes data trafficin internet protocol IP packets each of which contains source anddestination IP addresses, and other control information, along with asegment of user data (sometimes referred to as the payload). As such,computers use the Internet to communicate data in IP packets and receiveand process IP packets in accordance with the protocol.

The emergence of the Internet has prompted the desire to allow cablenetworks to support two-way packet-based data communication. This desirehas resulted in standards and protocols that enable networkinfrastructure conventionally used for the distribution of cabletelevision broadcasts to deliver Internet service to homes, businessesand the like. By adding the two-way packet based communicationcapability, cable networks can now support both one way communication ofcable television broadcasts, and two-way packet based voice and datacommunication.

In order to allow a cable network to offer Internet access to cablesubscribers in a bandwidth-efficient manner, the Cable TelevisionLaboratories (CableLab) has developed a series of Data Over Cable SystemInterface Specification (DOCSIS) standards that govern the design ofcable modems (CMs) residing in subscribers' premises, and of cable modemtermination systems (CMTSs) deployed and managed by the cable operator.The network that interconnects the CMs to a CMTS is called the cableaccess network or DOCSIS network, which may physically consist ofcoaxial cables and optical fibers, and other transmission equipments,such as lasers and amplifiers, in the cable plant which is commonlyreferred to as Hybrid Fiber-Coax (HFC) network.

For a cable subscriber to communicate over the Internet, it uses aDOCSIS-compliant CM to interface with the DOCSIS network. As the gatewayto the Internet, the CMTS controls the access of the CM to the bandwidthresources of the DOCSIS network. Although a coaxial cable has a usableRF spectrum in excess of 500 MHz, most of this spectrum is used forbroadcasting TV programs. Accordingly, only a small portion is typicallyallocated to transport data via the DOCSIS network. Current versions ofDOCSIS include DOCSIS 1.0, DOCSIS 1.1 and DOCSIS 2.0. Future releases ofDOCSIS may continue to evolve to improve the two-way packet basedcommunication and may entail more RF bandwidth for such services.

One challenge in DOCSIS and similar protocols, such as the wirelesscounterpart to DOCSIS that enables two-way packet based communicationover a shared RF access medium, is the control and management ofupstream communication. In this disclosure, the phrase “upstreamcommunication” refers to communication from a CM to a CMTS. “Downstreamcommunication” on the other hand, refers to communication from the CMTSto the CMs. A DOCSIS network may have several upstream channels andseveral downstream channels, each using a unique RF spectrum that doesnot conflict with other channels. The CMTS implements a scheduler tocontrol each respective channel.

Controlling upstream communication is much more challenging thancoordinating downstream communication because the CMs are independentfrom one another and compete for the upstream bandwidth. In contrast,the CMTS is generally the only device that transmits on the downstreamchannel. To facilitate upstream communication, the upstream schedulerdynamically assigns upstream time slots to individual CMs fortransmission of their waiting packets. For the most part, the DOCSISstandards leave the design of the upstream scheduler flexible, i.e., theCMTS vendor is free to design its own upstream scheduler subject tocertain general requirements. As a result, the quality of the upstreamscheduler is a key determining factor for the upstream bandwidthefficiency of an CMTS.

Each CM is typically associated with one or more computers in a home orbusiness that subscribes to Internet access through a DOCSIS network.Serving as a control interface between the CMs and the internet, theCMTS coordinates communication between various server computers attachedto the Internet and subscriber computers equipped with the CMs. The CMTSdirects data between the Internet and various CMs connected to the CMTS.

Upstream communication is supported in DOCSIS via a reservation-basedtime division multiple access (TDMA) protocol. In particular, theprotocol requires that a CM make a time-slot reservation to transmitevery single upstream data packet on the upstream channel. Afterobtaining a reservation, the CM can transmit the data packet during thereserved time slots. Such a reservation-based system can avoid datapackets from being sent from different CMs at the same time, in whichcase the data packets sent from the different CMs would collide on thecommon upstream channel of the cable transmission line and therebyundermine the ability of the CMTS to receive the packets.

Central to the upstream time slot reservation mechanism is the “MAP” andthe “MAP interval.” A MAP is an upstream channel control messagebroadcasted over the downstream channel by the CMTS on a regular basisin order to inform the CMs sharing a common channel of their reservationstatus and of the allocation of upstream time slots for the CMs totransmit time slot requests. In this disclosure, the term “TDMA map”refers to a MAP, or similar message in a non-DOCSIS system. Similarlythe terms “map” and “map interval” refer respectively to a MAP or a MAPinterval of a DOCSIS compliant system, or similar control messages ofother reservation based TDMA packet transmission systems.

In a DOCSIS network, each MAP schedules a particular future timeinterval in which certain CMs may be granted time slots for theirupstream packet transmissions. That future time internal is the “MAPinterval” associated with the given MAP. The time (commonly known as the“Advance Time” in DOCSIS) between the time a MAP is transmitted on thedownstream channel and the time when the MAP interval associated withthe MAP begins, must be large enough to accommodate for transmission andpropagation delays, as well as processing delays of the CMs. Twosuccessive MAPs define back-to-back MAP intervals so that the upstreamchannel is covered by MAP intervals seamlessly.

A MAP details the schedule of the time slots within the MAP interval.Generally, it specifies time slots within which a given CM shouldtransmit its waiting packet on the upstream channel, i.e., a grant inresponse to a time-slot request. The MAP also defines time slots inwhich needy CMs can transmit their time-slot requests on a contentionbasis, and time slots that are to be used for other signaling andcontrol purposes. In addition, a MAP also contains an “Acknowledgement”for each successful time-slot request that has not yet been granted timeslots. In this disclosure, the set of time slots within a MAP intervalthat are dedicated to request contentions will be called “contentionregion” while the remaining time slots within the interval “grantregion.” These terms “grant region” and “contention region” have similarmeanings with respect to maps or map intervals of non-DOCSIS reservationbased TDMA packet transmission systems.

Transmitting a time-slot request typically uses exactly one time slot,while a grant, which is needed to transmit one data packet, typicallyuses many time slots. Since grants are scheduled by the upstreamscheduler, packet collisions are avoided. However, time slot requestssent over the upstream channel during the defined contention region maycollide with other time slot requests if two or more CMs select the sametime slot for transmission of their time slot requests. In that case,the CMs schedules the retransmission of their lost time-slot requestsupon receiving a subsequent MAP in which the CM expects, but does notreceive either a grant or an acknowledgement for the previous time slotrequest. While the basic rescheduling policy is specified by DOCSIS,certain key parameter settings are left to the designer of upstreamscheduler.

SUMMARY

In general, the invention is directed to techniques for improvingupstream data communication in a DOCSIS network or otherreservation-based TDMA packet transmission system that involves requestcontention. In one example, the techniques involve dynamically adjustingthe size of the contention region provided in a MAP interval determinedby the upstream scheduler of a CMTS. By adjusting the size of thecontention region in each MAP interval, the system can be dynamicallyresponsive to different upstream traffic scenarios. Accordingly, thenumber of collisions and/or the number of unused time slots within thecontention region can be reduced, thereby improving upstream channelefficiency and user data throughput. Also, the size of a grant regionduring which data packets can be sent on the upstream channel may bemanaged for different traffic scenarios. The invention may beimplemented in the CMTS, without imposing any changes orreconfigurations on DOCSIS-compliant CMs.

In one embodiment, a method includes selecting a size of a contentionregion for upstream communication, generating information defining theselected contention region, transmitting the information to a set ofdevices, receiving upstream communications from the set of devices, andselecting a different size of another contention region in response tothe received communications. The method may be executed by a CMTS or acorresponding device that schedules upstream communication in areservation based TDMA system.

One known technique used by DOCSIS to improve upstream channelefficiency is referred to as “piggybacking” of time slot requests.Piggybacking is used when a given CM has more data packet(s) queued whenit is transmitting a packet on the upstream channel. In that case, thetime slot request for the first queued packet can be piggybacked withinthe packet being transmitted. As a result, a CM may only need totransmit one time slot request using the contention approach. Then, uponreceiving the grant of the requested time slots, it can piggyback thenext time slot request for the next packet within the data packettransmitted using the grant.

In another embodiment, a method includes selecting a contention regionfor a map interval based on a piggyback ratio, the piggyback ratio beinga ratio of a number of piggybacked time slot requests received duringone or more previous map intervals relative to a total number of timeslot requests received during the same period.

In another embodiment, a method includes receiving information defininga selected contention region of a map interval for transmitting upstreamtime slot reservations, transmitting data according to the receivedinformation and receiving different information defining a differentselected contention region of a different map interval in relation tosubsequent upstream communication.

In another embodiment, the invention may be directed to a device thatcontrols upstream scheduling in a reservation based TDMA system. Forexample, the device can be configured to select a size of a contentionregion for upstream communication, generate information defining theselected contention region, transmit the information to a set ofdevices, receive upstream communications from the set of devices, andselect a different size of another contention region in response to thereceived communications.

In another embodiment, the invention may be directed to an upstreamscheduler for a reservation based TDMA system. For example, the upstreamscheduler may comprise computer hardware, computer software, computerfirmware, a digital signal processor that executes computer readableinstructions, or the like. The upstream scheduler may be implementedwithin a CMTS to control and define upstream communication to the CMTS.In any case, the upstream scheduler can be configured to select a sizeof a contention region for upstream communication, generate informationdefining the selected contention region, transmit the information to aset of devices, receive upstream communications from the set of devices,and select a different size of another contention region in response tothe received communications. If implemented in software, the inventionmay be directed to a computer readable medium comprising program codethat can be executed in a device to control upstream scheduling asdescribed herein.

In another embodiment, the invention may be directed to areservation-based TDMA system comprising a first device that controlsupstream scheduling in the reservation based TDMA system and a set ofsecond devices that communicate upstream in the reservation based TDMAsystem. The first device and the set of second devices can be configuredsuch that the first device selects a size of a contention region forupstream communication, generates information defining the selectedcontention region, and transmits the information to a set of seconddevices. The set of second devices may transmit upstream communicationsto the first device, and the first device may select a different size ofanother contention region in response to the received communications.

In an added embodiment, the invention provides a method that includesselecting an initial backoff window for a time division multiple access(TDMA) system according to a size of a contention region of a mapinterval, selecting a final backoff window for the TDMA system to begreater than or equal to an expected number of active modems, andtransmitting the initial and final backoff windows to a set of devicesfor use in upstream communication.

The invention may be capable of providing one or more advantages. Forexample, the techniques described herein may be capable of increasingthe upstream bandwidth available for user data in a reservation-basedTDMA system. In particular, the techniques may reduce bandwidth wastedue either to collisions or under-utilized contention regions on theupstream channel and possibly reduce the access times for a given CM tobe granted time slots for upstream packet transmission. Such improvedupstream communication may be particularly useful as subscribers utilizemore bandwidth for upstream communication. Upstream bandwidth usage maycontinue to grow with the emergence and growth of interactive Internetapplications such as interactive gaming, file sharing, and the like.Another advantage of the invention is transparency to DOCSIS compliantCMs. Accordingly, upstream bandwidth efficiency can be improved withoutthe need to modify DOCSIS-compliant CMs.

These and other techniques described herein may be executed by a CMTS ina DOCSIS network or a corresponding device that controls upstreamscheduling of a reservation based TDMA network. The techniques may beimplemented in hardware, software, firmware, or any combination thereof.Various embodiments may be directed to the CMTS in a DOCSIS-based cablenetwork, or its counterpart in a wireless or other reservation basedTDMA access networks. For some software embodiments, the techniques maybe embodied on a computer readable medium comprising program code, thatwhen executed, performs one or more of the techniques. Additionaldetails of various embodiments are set forth in the accompanyingdrawings and the description below. Other features, objects andadvantages will become apparent from the description and drawings, andfrom the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a cable network that can beconfigured to execute principles consistent with the invention.

FIG. 2 is a more simplified block diagram of a cable network that can beconfigured to execute principles consistent with the invention

FIG. 3 is a block diagram illustrating upstream and downstreamcommunication between a CM and a CMTS

FIG. 4 a more detailed block diagram of one embodiment of a CMTS.

FIG. 5 is a conceptual diagram illustrating the concept of datatransmission according to a MAP consistent with the principles of theinvention. (This is DOCSIS)

FIGS. 6–8 are flow diagrams illustrating various techniques consistentwith the principles of the invention.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating an exemplary cable network 2 thatcan be configured to promote upstream bandwidth efficiency consistentwith the principles of the invention. As shown in FIG. 1, cable network2 includes one or more CMTSs 12A–12C. Each of CMTSs 12 provides acomputer interface between CMs 5 (only CMs 5A–5Z are labeled in FIG. 1),and one or more routers (not shown) within a core IP network 10. Each ofCMTSs 12 directs communication between CMs 5 and other computersattached to the core IP network 10. The core IP network 10 may comprisea global network such as the Internet, which include the IP network ofthe cable operator or a public or private IP packet network such as acorporate Wide Area Network (WAN).

Each of CMTSs 12 may operate in a substantially similar manner. UsingCMTS 12A by way of example, CMTS 12A may broadcast information over adownstream channel of the coaxial cable (only coaxial cables 8A–8E arelabeled in FIG. 1 for simplicity). Each of CMs 5 served by thatdownstream channel may extract packets from the broadcast information,such as the data packets (if any) that are addressed to the respectiveCM by destination address in the packet header. Communications from CMTS12A to CMs 5 are referred to herein as downstream communications, andare typically assigned a particular frequency band unused by cable TVsignals. In cable network 2, downstream communications are not subjectto collision problems because each of CMTSs 12 is the only devicetransmitting on a downstream channel with respect to a given set of CMs5 attached to that downstream channel.

In some cases, the transmission line between CMTS 12A and a set of CMs 5may include two or more different media. For example, coaxial cable 8may be connected to CMTS 12A and each CM. As illustrated in FIG. 1,media 9A–9C (hereafter media 9) may exist between coaxial cable 8 in oneor more locations. For example, media 9 may include fiber nodes andoptical fiber for converting signals over coaxial cable 8 to opticalsignals, and then back again. In this manner, optical signals or othertypes of signals may exist within media 9 but are converted back toradio frequency (RF) signals before reaching an RF port of a CMTSlinecard (upstream) or before reaching CMs (downstream). The use ofoptical fiber or other media may reduce signal attenuation particularlywhen signals are sent over a significant geographical distance. These orother transmission media 9 may be used to transmit signals back andforth between coaxial cable(s) connected to CMTS 12A and coaxial cablesconnected to CMs 5.

In accordance with the principles of the invention, techniques can beimplemented to improve upstream communication in cable network 2.Herein, the phrase “upstream communication” refers to communication froma respective one of CMs 5 to a respective one of CMTSs 12. Generally,upstream communication is assigned a frequency band that is differentfrom that assigned to downstream communication and different from cabletelevision broadcasts. The frequency band assigned to upstreamcommunication may be partitioned to many upstream channels. An upstreamchannel is assigned to a set of CMs and a CM may have access to morethan one upstream channels. An upstream scheduler is used for eachupstream channel to control the CMs that have access to that channel.

Upstream communication raises several challenges. For example, theimplementation of upstream data communication encounters limitedbandwidth availability, poor channel quality (compared to downstream),and the potential for collision of data transmitted on the upstreamchannel.

As mentioned above, several versions of DOCSIS standards have beendeveloped to facilitate two-way packet communication in an HFC networklike system 2. DOCSIS based protocols or their counterpart in non-cablenetworks may utilize reservation based time division multiple access(TDMA) techniques in which a given one of CMs 5 reserves time slots inorder to send a packet to CMTS 12A on the upstream channel. Thereservation-based TDMA protocol can avoid the occurrence of packetcollisions on the upstream channel, but must deal with collisionproblems associated with time-slot requests.

In particular, DOCSIS requires each of CMs to make a time slotreservation for transmission of each upstream data packet. In otherwords, each of CMs 5 must reserve a needed number of time slots in orderto transmit data to one of CMTSs 12 on the upstream channel. Afterobtaining a reservation, one of CMs 5 can transmit the data packetduring the reserved time slots. Such a reservation-based system canavoid data packets from being sent from different CMs at the same time,in which case the data packets sent from the different CMs would collideon the shared upstream channel within the coaxial cable and would failto reach the CMTS for delivery to the core IP network such as theInternet or Corporate WAN.

The CMTSs 12 regularly transmits MAPs over the downstream channels toinform the connected CMs 5 that share an upstream channel if and whenthey can transmit packets on that channel during a MAP interval. The MAPmay also define a contention region that specifies within thecorresponding MAP interval a set of time slots during which any CM cantransmit a time slot request, sometimes referred to as bandwidthrequest, for transmitting its waiting packet. The MAP may also define agrant region that identifies time slot grants during which each CM thatreceived a grant can transmit a packet on the upstream channel in thetime slots allocated.

Time slot requests sent over the upstream channel during the definedcontention region may collide with other time slot requests if two ormore CMs 5 select the same time slot for transmission of their time slotrequests. CMs 5 involved in a collision would learn of the collisionupon receiving a particular subsequent MAP that does not grant oracknowledge the previous request. Unlike devices in Ethernet systems,CMs are not capable of detecting collisions on the upstream channel.Accordingly, each of CMs 5 determines that its time slot request hascollided upon receiving a MAP in which it expects a grant oracknowledgment, but fails to receive a grant for, or see anacknowledgement of receipt of, its time slot request. In that case, theCM would resend the time slot request following a backoff routine setforth by DOCSIS.

As described herein, various techniques can be used to improve upstreamcommunication and thereby increase the bandwidth available for userdata, i.e., for data grants in the upstream channel. For example,improved upstream communication may become more and more important asthe Internet becomes more and more interactive. As a few examples,Internet gaming, file sharing, and other interactive Internetapplications can require significant upstream bandwidth so thatrelatively large amounts of information can be sent from a respectiveone of CMs 5 to the corresponding one of CMTSs 12. Accordingly, thetechniques described herein may become more useful as interactiveInternet applications become more prominent and widespread. Efficientupstream scheduling, however, is also very important even in the absenceof new applications because many HFC networks designate a small-size andpoorer-quality frequency band for upstream data transmission, thespectrum quality of which is not of sufficient quality for TV broadcast.

The techniques described herein may involve dynamically adjustingvarious parameters that control and define upstream communication. Forexample, parameters such as the backoff window used for time slotrequests following a collision may be dynamically controlled by theupstream scheduler within the CMTS. Other parameters or variables, suchas the size of a contention region of MAP intervals sent from one ofCMTSs 12 to one of CMs 5, may be controlled or dynamically defined at aCMTS. By allowing dynamic adjustment of these or other variables thataffect upstream communication, the upstream scheduler may be moreadaptive to different traffic scenarios. Accordingly, upstreamcommunication can be improved in terms of increased upstream bandwidthavailable for data as perceived by a given one of CMs 5, particularlyduring times of high upstream traffic situations.

If the contention region within a MAP interval is too large, then theavailable upstream bandwidth for packet transmission, i.e., for timeslot grants, will be limited, while an excessive portion of thecontention region will go unused. On the other hand, if the contentionregion within a MAP interval is too small, then the collisions withinthe contention region will be excessive. In this latter case, the numberof successful time slot requests will be small and the upstreamscheduler will have fewer than desired number of grants to issue. As aresult, the MAP interval is smaller and the upstream scheduler generatesMAPs more frequently, each of which contains a contention region leadingto an excessive supply of contention region at the expense of upstreambandwidth available for user data. Therefore, upstream bandwidthefficiency can benefit from a managed balance between the contentionregion and the grant region within a MAP interval. Such a balance can beexploited with respect to the fluctuation of the underlying upstreamtraffic condition.

In one embodiment, consistent with the principles of the invention, keytraffic parameters are identified that may determine an effectivebalance. In order to achieve or at least approximate this balancepractically, the size of the contention region within a MAP interval canbe adjusted dynamically as a function of the latest traffic conditionsdefined and measured with a proper metric, as will be described. Ingeneral, when a greater number of CMs 5 are requesting time slots fortransmission of data packets, the contention region may be dynamicallyincreased to reduce the likelihood of collisions occurring during thecontention region. When fewer CMs 5 are sending requests on thecontention region, however, the contention region may be reduced toallow for more bandwidth available for user data, e.g., more grantsand/or larger grants for upstream packet transmission.

At the same time, DOCSIS requires that each of CMs 5 define a backoffwindow on a dynamic basis to balance the desire to more quickly transmittime slot requests with the desire to avoid collisions on the upstreamchannel. As outlined in greater detail below, larger backoff windows maybe more likely to avoid collisions, but may result in more delay in thetransmission of the time slot request. Before it suffers from acollision, a CM uses the “Initial Backoff Window” as its backoff window.After each collision the CM expands its backoff window, by a factor of 2in the case of DOCSIS, so long as the result does not exceed the “FinalBackoff Window.” The Initial Backoff Window and the Final Backoff Windoware supplied, and may be updated as frequently as necessary by theupstream scheduler within the CMTS.

In one embodiment, the invention provides a technique by which theupstream scheduler of the CMTS dynamically adjusts the setting of theInitial Backoff Window and the Final Backoff Window to minimize thedelay of transmitting a time slot request on one hand, while preventingsystem instability on the other hand.

FIG. 2 is a simplified block diagram of a cable network system 20 inwhich a CMTS 18 is connected to a number of CMs 5AA–5PP via coaxialcables 8F–8G or a hybrid fiber-coax medium. System 20 may be similar tocable network 2 (FIG. 1) in function and operation, but is simplifiedfor illustrative purposes. CMTS 18 serves as the interface between theCMs 5 and the core IP network such as the Internet. CMTS 18 controls oneor more upstream channels and one or more downstream channels, e.g., ona network that facilitates data communication between computers equippedwith the CMs 5 and various other computers attached to the core IPnetwork. A CM may have access to more than one upstream channel, thoughonly one is shown in FIG. 2 to simplify the illustration.

More specifically, CMTS 18 may support a data-over cable protocol suchas one of the DOCSIS based protocols. As mentioned, DOCSIS protocolsrequire CMs 5 to make a time slot reservation for transmission of eachupstream data packet. After obtaining a reservation, i.e., obtainingwithin a MAP interval a grant of time slots on the upstream channel, thegiven CM can transmit the data packet during the reserved time slots. Inthis manner, packet collisions on the same upstream channel 8 can beavoided during a grant region where the time slot grants are allocatedto CMs 5 with no conflict.

Each of schedulers 14 corresponds to a particular upstream channel ofthe DOCSIS network. In some cases, CMTS 18 includes a chassis thatincludes a number of CMTS line cards (LCs). Each LC may provide a set ofupstream ports, and each port may support a number of upstream channels.A different upstream scheduler 14 is used for each upstream channel.Thus, a number of schedulers may exist for each upstream port, a numberof ports may exist for each LC, and a number of LCs may exist inside aCMTS chassis.

FIG. 3 is a block diagram of cable system 30 in which a CMTS 22connected to a representative CM 7. As shown, information sent from CMTS22 to CM 7 is broadcasted on a downstream channel 21, i.e., signalsmodulated at a given frequency defined for downstream packettransmissions. Information sent from CM 7 to CMTS 22 may be transmittedduring granted time slots of upstream channel 23, which may definesignals modulated at a frequency different from that associated withdownstream channel 21. Again, communication on upstream channel 23 mayoccur according to a time slot reservation protocol such as a DOCSISprotocol in order to ensure that data packets transmitted by CM 7 do notcollide with data packets transmitted by one or more other CMs on thesame upstream channel. Channels 21 and 23 may reside on the same coaxialtransmission line, but are assigned different frequency bands.

One known technique used by DOCSIS to improve upstream channelefficiency is referred to as “piggybacking” of time slot requests.Piggybacking is used when a given CM 7 has one or more data packetsqueued when it is transmitting a packet on the upstream channel. Foreach packet, the given CM 7 must reserve a number of time slots neededto transmit it on the upstream channel. However, a time slot request maybe piggybacked with the transmission of the preceding packet. In otherwords, a given CM 7 may only need to transmit one time slot requestusing the contention approach. Then, upon receiving the grant of timeslots requested, the given CM 7 piggybacks the time slot request for thenext packet within the data packet transmitted using the grant. Forpiggybacking, the next time slot request and preceding data packetordinarily reside within a common range of time slots granted for theprevious time slot request.

In this manner, when a given CM 7 has a number of packets to transmit,it can reserve one time slot via a time slot request sent during anallotted contention region of the upstream channel, and can thereafterpiggyback the subsequent requests with each previous packettransmission. Piggybacking can streamline upstream packet transmissionand thereby increase upstream bandwidth available for data by savingcontention overheads. Also, piggybacking can avoid the occurrence ofcollisions on the upstream channel during the contention region byshifting time slot requests from the collision-prone contention regionto collision-proof grant region once a given CM 7 has been granted itsrequested time slots for a first packet.

Another technique that may be implemented in DOCSIS based cable systemsto improve upstream channel efficiency and stability relates to theconcept of backoff windows. The backoff window refers to the number ofslots within one or more contention region(s) over which a given CM 7randomly selects a slot for transmission of its time slot request. Thebackoff window may comprise all of the slots of the contention region,or a subset of the slots of the contention region, if desired. Inaddition, the backoff window may comprise a larger number of slots thanthe slots in the contention region, in which case the requesting CMwould select a slot from a set of slots that span two or more contentionregions of two or more MAP intervals.

In accordance with the principles of the invention, the lower and upperlimits of the backoff window, i.e., Initial Backoff Window and FinalBackoff Window used by the CMs may be dynamically defined to seek abalance between the desire to transmit a time slot request quickly andthe desire to minimize the likelihood of collisions and instability. Inparticular, an Initial Backoff Window (which must be power of two inslots in DOCSIS) may be selected to correspond to the size of thedynamically adjusted contention region. Selecting the Initial BackoffWindow to be equal to the size of the contention region can achieve adesirable balance between defining a backoff window that is too small(which may cause excessive collisions while leaving some slots in thecontention region unused) and defining a backoff window that is toolarge (which may cause excessive delays in the transmission of time slotrequests). For a given CM, according to DOCSIS, the backoff window maythereafter increase for each successive time slot request in the eventcollisions continue to occur.

Also, a final backoff window may be selected to improve upstream channelefficiency and stability. In particular, the Final Backoff Window can beselected to be equal to or larger than the number of active CMs for agiven upstream channel of a CMTS. For example, in FIG. 2, if all sevenCMs (5AA–5GG) are active in one upstream channel, the Final BackoffWindow may be defined to be eight slots. Moreover, this maximum backoffwindow parameter may change dynamically, e.g., if more CMs become activeon the given upstream channel, or one or more active CMs on the channelbecomes inactive. In any case, defining the Final Backoff Window tocorrespond to a number that is greater than or equal to the number ofCMs that may compete for time slots in the contention region, systemstability can be ensured. Additional details of the adjustment of theInitial and Final Backoff Windows are provided below.

As shown in FIG. 2, CMTS 18 may include one or more upstream schedulers14A, 14B. In general CMTS 18 may include a scheduler for every upstreamchannel through which a number of CMs communicate with CMTS 18.Schedulers 14 may allocate time slots in response to successfullyreceived time slot requests according to any desired strategy within theDOCSIS framework. Schedulers 14 may be implemented as software,hardware, firmware, or various combinations. In one embodiment outlinedin greater detail below, the schedulers may be implemented as hardware,software or firmware within LCs that make up a CMTS. Each LC may beequipped with one or more physical upstream RF ports through which anumber of CMs 5 can be coupled to CMTS 18. Each port may support one ormore upstream channels each of which has an upstream scheduler thatcoordinates the upstream data transmissions from CMs 5 to the CMTS 18.The upstream schedulers may work independently of one another or may becoupled.

FIG. 4 is a more detailed block diagram of an exemplary embodiment of aCMTS 34. As shown, CMTS 34, together with a network interface 44 withLayer-3 functionalities, provides the interface between a DOCSIS networkand a core IP network 10.

CMTS 34 comprises one or more LCs 32A–32C, each of which defines one ormore upstream ports 33A–33D. Each of ports 33 may support one or moreupstream channels each of which is controlled by one of upstreamschedulers 14C–14G that coordinates the time slot allocation scheme forthe respective upstream channel. Again, schedulers 14 may be implementedin hardware, software, firmware, or various combinations. If equippedwith Layer-3 functionality, an LC may be directly connected to the coreIP network 10, otherwise, an LC may feed into a network interface 44that performs (Layer-3) routing functions and collectively couples theLCs 32 to the core IP network 10. In other words, routing functions maybe incorporated into each of LCs 32, or may be performed in a separatephysical component. In short, network interface 44 may be implementedwithin LCs 32 or separately from LCs 32.

In any case, an upstream scheduler 14 dynamically schedules each MAPinterval and broadcasts the respective MAP on a downstream channel thatserves the same set of CMs as the upstream channel on the respective oneof cables 8 in order to inform these CMs (not shown) whether their timeslot requests have been granted, and if so when a given CM can transmita packet on the upstream channel within a MAP interval.

FIG. 5 is a conceptual diagram of a stream 51 of TDMA slots. Each slotwithin stream 51 is often referred to as a “minislot” in DOCSIScompliant systems. Specifically, in DOCSIS, each slot (minislot) is6.25* (N) μsec, where N is an integer, although the invention is notlimited in that respect. In that case, a 5.12 Mbps channel with N=4 mayresult in one slot defining 16 bytes. Accordingly, in that case, aminimum-size 64-byte packet would require four contiguous slots forupstream transmission, and an maximum-size Ethernet frame of 1522 byteswould need ninety-six slots.

Using system 20 of FIG. 2 for purposes of explanation of FIG. 5, each ofupstream schedulers 14 generates MAPs which are broadcasted to CMs viathe downstream channel to which these CMs are attached. The broadcastedMAPs define MAP interval 52 that corresponds to a number of contiguousTDMA slots. The size of the MAP interval 52 may be static or dynamic asdefined by the respective broadcasted MAP. CMTS 34 transmits a MAPgenerated by one of upstream schedulers 14 well before the MAP intervalstarts in order to ensure that the corresponding CMs have sufficienttime to react to the MAP and transmit data packets or time slot requestson the upstream channel accordingly during the MAP interval.

The MAP interval 52 may further define a contention region 53 and agrant region 54. The contention region 53 identifies a set of slotsduring which any CM attached to a CMTS 34 can transmit a time slotrequest on the upstream channel. The grant region 54 defines the timingand length of one or more time slot grants (G1–G4) during whichparticular CM(s) have been granted time slots for packet transmission onthe upstream channel. Each grant (G1–G4) in the grant region 54 maycorrespond to a unique CM which can be identified in the broadcastedMAP. Whenever necessary, the MAP may define other time slots within theMAP interval 52, such as slots designated for signaling or controlpurposes. The contention region may consist of more than one set ofcontiguous slots within a MAP interval, even though 53 shows only one.

In accordance with the principles of the invention, each of upstreamschedulers 14 defines the size of the contention region 53 relative tothe size of the MAP interval 52 on a dynamic basis. If an upper limitfor the size of a MAP interval is imposed, as is usually the case, thenupstream schedulers 14 may define the size of the grant region relative54 to the size of the MAP interval 52 on a dynamic basis. Morespecifically, schedulers 14 define the size and layout of the MAPinterval based on current traffic conditions and performanceconsiderations. In one example, schedulers 14 may use a feedback controltechnique in which each of schedulers 14 estimates or identifies thenumber of CMs competing for contention slots, and adjusts the number ofcontention slots in a subsequent MAP interval based on the estimatednumber of CMs competing for the slots.

The estimation is conducted by CMTS 34 on the receiving end of theupstream channel and is typically based on one or more of the followingthree observations: collision ratio, empty ratio, and success ratio. Thecollision ratio is the proportion of time slots within one or morecontention regions that contain collided time slot requests. The emptyratio is the proportion of time slots within one or more contentionregions that contain no time slot requests. The success ratio is theproportion of time slots within one or more contention regions thatcontain exactly one (successful) time slot request. In this manner,traffic fluctuations may be accounted for in the MAP generation processto improve upstream slot allocation.

There are at least two problems, however, with the feedback controltechnique mentioned above. First, according to DOCSIS, each CM uses adynamic backoff window to reduce repeated collisions. Accordingly, afeedback control based on the estimated number of CMs competing forcontention slots may be inadequate insofar as the estimation does notaccount for the backoff factor. Second, because DOCSIS implements theconcept of piggybacking of time slot requests once a CM has received atime slot grant, the above feedback algorithm may significantlymisrepresent the actual number of CMs that will compete for the timeslots within the next contention region. In short, the use of thebackoff window mechanism and the piggybacking techniques used by DOCSISloosens the relationship between the estimated number of CMs competingfor the contention slots and the actual future number of CMs competingfor the contention slots.

For these reasons, in accordance with the principles of the invention,each of upstream schedulers 14 defines the size of the contention region53 relative to the size of the MAP interval 52 based on alternativetraffic parameters that can account for piggybacking and/or backoffwindows. More specifically, traffic parameters that measure the averagepacket size (average grant size) and/or the piggyback ratio may be usedby upstream schedulers 14 to schedule each MAP interval on a dynamicbasis. The use of such parameters can be justified and defined by acomprehensive mathematical analysis in which an equilibrium equation isestablished by which the upstream scheduler dynamically adapts to thelatest upstream traffic characteristics and constantly exploits maximalupstream data throughput.

The average packet size can be determined by identifying the averagesize of grants within the grant regions of the MAP intervals. Theaverage size of the grants has a close relationship with the size of thecontention region needed because, while a large packet will require alarger number of time slots in the grant region, it uses one time slotin the contention region to transmit its time slot request. Therefore,if the average packet size is large, the number of grants that can fitin a given MAP interval is small, which implies that the number ofsuccessful time slot requests that the upstream scheduler can handle(without overloading) is small. This, in turn suggests that the numberof time slots needed is small. The average packet size may be calculatedbased on the grant sizes observed in the MAP intervals within a slidingwindow, or alternatively a recursive estimation technique whichcalculates the average packet size by weighing the measurements takenfrom more recent MAP intervals s more heavily than those taken fromolder MAP intervals. In any case, in accordance with the principles ofthe invention, scheduler 14 may select the contention region for a MAPinterval based at least in part on the average packet size estimated.

The piggyback ratio refers to a ratio of the number of piggybacked timeslot requests received during grant regions 53 relative to a totalnumber of time slot requests received during both the grant regions 53and the contention regions 52. In other words, the piggyback ratioidentifies the ratio of piggybacked requests to the total number ofreceived requests. The piggyback ratio reflects an important aspect ofuser traffic pattern and may provide a more accurate estimate of thecontention demand because it accounts for time slot requests submittedduring the contention region and piggybacked time slot requests. Likethe average packet size, the piggyback ratio may also be calculatedusing a sliding window covering a number of most recent MAP intervals ora recursive estimation technique that weighs the measurements taken fromthe more recent MAP intervals more heavily. In any case, in accordancewith the principles of the invention, scheduler 14 may select thecontention region for a MAP interval based at least in part on thepiggyback ratio.

By way of example, a desired balance for the size of the contentionregion 52 may be achieved by considering or defining one or more of thefollowing variables.

c=Number of contention slots in a MAP Interval, i.e., size of thecontention region in number of slots defined by a MAP τ=maximum MAPinterval, in number of slots (This will be approximately the prevailingsize of MAP intervals in a stable system when the upstream traffic isheavy)

N=number of cable modems competing for contention slots

W_(I)=Initial Backoff Window (in number of slots within contentionregions only)

W_(F)=Final (maximum) Backoff Window (in number of slots withincontention regions only)

W=real time equivalent (in number of slots on the upstream channel,random) of W_(F)

W_(k)=backoff window for the k^(th) service flow (in contention slots)during a contention slot, where W_(I)≦W_(k)≦W_(F) for all 1≦k≦N

L=mean packet length (in slots)

β=Piggyback ratio=(Piggyback requests)÷(All requests)

For example, let ρ=Probability of a successful contention minislotrequest.

Thus,

$\begin{matrix}{\rho = {{\left( {1/W_{1}} \right)\left( {1 - {1/W_{2}}} \right)\left( {1 - {1/W_{3}}} \right)\mspace{14mu}\ldots\mspace{14mu}\left( {1 - {1/W_{N}}} \right)} +}} \\{{\left( {1/W_{2}} \right)\left( {1 - {1/W_{1}}} \right)\left( {1 - {1/W_{3}}} \right)\mspace{14mu}\ldots\mspace{14mu}\left( {1 - {1/W_{N}}} \right)} +} \\{\left( {1/W_{N}} \right)\left( {1 - {1/W_{1}}} \right)\left( {1 - {1/W_{2}}} \right)\mspace{14mu}\ldots\mspace{14mu}\left( {1 - {1/W_{N - 1}}} \right)} \\{{= {{{N\left( {1/W} \right)}\left\lbrack {1 - {1/W}} \right\rbrack}^{N - 1}\mspace{14mu}{for}\mspace{14mu}{some}\mspace{14mu} W}},{{{with}\mspace{14mu} W_{I}} \leq W \leq W_{F}}}\end{matrix}$and

ρ≦[N−1/N]^(N-1) (equality if W=N),

and

ρ≈e⁻¹ for N≧5, (the optimization is unimportant if N is small) andtherefore

ρ≈0.368 for N≧5.

Now let S=the normalized throughput=proportion of slots that are used bydata grants on the upstream channel. Consider the time interval W(defined above) in which there are W_(F) contention slots:S=(W−W _(F))/W=1−W _(F) /WIn that case, the equilibrium equation is:[ρW _(F)/(1−β)]L=W−W _(F)and thusW _(F) /W=1/[1+ρL/(1−β)]≧1/[1+0.368L/(1−β)].

By design, if W_(F)/W≧C/τ, then the maximum throughput becomes:S _(MAX)=min{1−c/τ,1−1/[1+0.368L/(1−β)]}Therefore, for maximum upstream throughput as a function of c, c shouldbe selected such that:c/τ[1+0.368L/(1−β)]Also, the maximum MAP interval value (τ) may be selected to be as largeas possible to minimize the percentage of processing overhead anddownstream channel load.

In short, each of upstream schedulers 14 may track the mean packet sizeL and the piggyback ratio β over a period of time, and may update thecalculated values according to a sliding window, or may use recursiveestimation techniques that exponentially decay the weight given to oldermeasurements. For maximum upstream throughput, scheduler 14 may select:c≈FLOOR{τ/[1+0.368L/(1−β)].Simulations have shown that such techniques by upstream schedulers 14can significantly improve maximum upstream data throughput over theapproach that uses a constant c.

By way of example, each of upstream schedulers 14 may implement a lookuptable (LUT) in order to dynamically size the contention region veryquickly. For example, each of upstream schedulers 14 may be programmedto select the value for c using Table 1, provided below, whichcorresponds to a 5.12 Mbs channel with 16-byte slots.

TABLE 1 c = FLOOR {τ/[1 + 0.368L/(1 − β)] c c c c c L τ β = 0.9 β = 0.75β = 0.5 β = 0.25 β = 0 40 (640 400 (10 ms) 2 6 13 19 25 bytes) 30 (480400 (10 ms) 3 8 17 25 33 bytes) 20 (320 400 (10 ms) 5 13 25 36 47 bytes)10 (160 400 (10 ms) 10 25 47 67 85 bytes) 40 (640 200 (5 ms)  1 3 6 9 12bytes) 30 (480 200 (5 ms)  1 4 8 12 16 bytes) 20 (320 200 (5 ms)  2 6 1218 23 bytes) 10 (160 200 (5 ms)  5 12 23 33 42 bytes)

To ensure stable operation, the Final Backoff Window used by all the CMsat a given time should always be larger than the number of active CMscompeting for contention slots. In a reservation-based TDMA system, whenthe number of nodes (CMs) is large, instability may occur, possiblycausing unbounded packet queuing in the CMs, or even packet dropping.This would occur if the collision ratio is persistently too high.

Importantly, this phenomenon, which is undesirable, can be prevented ifW_(F)≧N. In one example, if:

N=the number of data connections (i.e., active CMs), then let

W_(F)=2^(Y), where Y=Ceiling {log₂ N(1−β)} (DOCSIS requires that W_(F)be power of 2)

In practice, an even a larger value for Y may be used to ensurestability in the event that β is overestimated. In one extreme, W_(F)=Ncan be employed.

FIG. 6 is a flow diagram illustrating a technique consistent with theprinciples of the invention. Using system 20 of FIG. 2 for purposes ofexplanation, CMTS 18 receives time slot requests sent by CMs within thecontention region (61) of a MAP interval. For example, CMTS 18 maybroadcast a MAP which defines a contention region and a grant regionwithin the MAP interval. The grant region may grant time slots todifferent CMs, allowing the respective CMs to transmit packets duringthe respective time slots. The contention region, on the other hand, maydefine a set of slots during which any CM can send a time slot request.

Schedulers 14 dynamically determine a contention region and a grantregion for a subsequent MAP interval based on received communications(62). By dynamically adapting to the key traffic parameters, whenselecting the size of the contention region within a MAP interval,improved upstream throughput can be achieved. Moreover, in addition toselecting the size of the contention region for an upcoming MAPinterval, scheduler 14 also defines the various grants (in response tosuccessful time slot requests) which all together make up the grantregion for the MAP interval. The CMTS can then broadcast the subsequentcorresponding MAP to the CMs (63) to thereby instruct the CMs regardingthe allocation of time slots within the MAP interval. Importantly, thesubsequent MAP may define a contention region that is of a differentsize than the previous contention region.

FIG. 7 is another flow diagram illustrating a technique consistent withthe principles of the invention. Again, using system 20 of FIG. 2 forpurposes of explanation, a CMTS 18 receives time slot requests sentduring the contention regions (71) and data packets sent in the grantregions (72) of previous MAP intervals. CMTS 18 may also receive timeslot requests piggybacked with the packets sent in the grant regions(73). Generally, piggybacked requests may be inserted in the datapackets transmitted in the grant regions. Again, the contention regionand grant region within a MAP interval and the MAP interval itself aredefined by a MAP broadcasted by CMTS 18 on the downstream channel priorto the start of that MAP interval.

As shown in FIG. 7, CMTS 18 selects the size for a contention region fora subsequent MAP interval based on the latest estimate of the piggybackratio and/or the average packet size (74). Then, subject to an upperlimit on the size of MAP interval, CMTS 18 determines the grants andaccordingly the grant region for the same MAP interval. In one specificexample, each of schedulers 14 of a CMTS 18 selects the contentionregion based on both the piggyback ratio and the average packet size,such as by applying the traffic flow equations outlined above.Alternatively, schedulers 14 may implement a lookup table, in order toquickly generate the appropriate value for c (the contention region sizein number of slots) based on the estimated values of β (the piggybackratio) and L (the average packet size). Table 1 provides one simplifiedexample that may be implemented in a lookup table within each ofschedulers 14.

Having selected the appropriate size for the contention region based ontraffic parameters such as the piggyback ratio and average packet size(74), an upstream scheduler generates a subsequent MAP with the selectedsize of the contention region (75) and a grant region such that the MAPinterval does not exceed its upper limit τ. The grant region of thesubsequent MAP interval may define various grants during which selectedCMs can use the upstream channel for packet transmission. CMTS 18broadcasts the subsequent MAP (76) over the downstream channel to allthe CMs that share the upstream channel associated with the MAP in orderto coordinate the upstream transmissions from these CMs. The MAP can bebroadcasted (76) at a time that allows for sufficient time for theattached CMs to react and to time their upstream transmissionsaccordingly during the MAP interval. A CM that did not previouslytransmit a time slot request but has a new packet to transmit examinesthe MAP for contention region only. A CM that has previously transmitteda time slot request examines the grant region of the MAP for a possiblegrant or looks for a grant pending indication in the MAP.

FIG. 8 is another flow diagram illustrating a technique consistent withthe principles of the invention. In FIG. 8, the boxes labeled (CM)correspond to actions taken by a CM, and the boxes labeled (CMTS)correspond to actions taken by a CMTS. Again, using system 20 of FIG. 2,for purposes of explanation in accordance with the principles of theinvention, CMTS 18 generates a MAP (81) associated with an upstreamchannel and broadcasts the MAP over a downstream channel of the cablenetwork (82). All the CMs 5 on that upstream channel are capable ofreceiving on this downstream channel. Accordingly, each CM associatedwith that upstream channel receives the MAP (83), and examines the MAPto time its upstream transmission of a time slot request or of a datapacket. In particular, CMs 5 that have previously transmitted a timeslot request examine the grant region defined in the MAP to determinewhether its request has been granted (84). If one of CMs 5 determinesthat no time slot grant was identified in the MAP (no branch of 84),then it determines whether its request was even acknowledged (85), e.g.,by an indication of “grant pending.” If it does not see such anacknowledgement indication (no branch of 85), then it begins schedulingthe retransmission (doubling the backoff window, examining thecontention regions of new MAPs, etc.) of the presumably lost time slotrequest (87).

Also, if one of CMs 5 is not waiting for a grant or acknowledgement, butdetermines that it does have one or more packets to send on the upstreamchannel (86), then the respective CM sends a time slot request in thecontention region according to its backoff window (87) which is set tothe latest Initial Backoff Window broadcasted by the CMTS. Again, thecontention region corresponds to a set of slots within a MAP intervalintended for any CM to send a time slot request. Accordingly, collisionsmay occur during the contention region.

The backoff window refers to the number of slots within contentionregion(s) over which a given CM randomly selects a slot for transmissionof a time slot request. Based on the Initial and Final Backoff Windowsetting strategies described herein, the backoff window may comprise alarger number of slots than the slots in one contention region, in whichcase the requesting CM would select a slot from a set of slots that spantwo or more contention regions of two or more consecutive MAP intervals.The CMTS dynamically adjusts and broadcasts the values of the Initial(minimum) Backoff Window and the Final (maximum) Backoff Window. For aCM, the initial time slot request for a new packet is transmittedaccording to the Initial Backoff Window, and the backoff window is thenincreased for subsequent requests relating to the same packet ifcollision(s) occur. Specifically, in terms of DOCSIS, the size of thebackoff window doubles with each repeated time slot request, subject tothe maximum value defined by the Final Backoff Window.

As described above, the Initial Backoff Window may be selected tocorrespond to the size of the contention region. In particular,selecting the Initial Backoff Window to correspond to the size of thecontention region can achieve a desirable balance between defining abackoff window that is too small (which may cause excessive collisionsand leave a portion of the contention region totally unused) anddefining a backoff window that is too large (which may cause unnecessarydelays in the transmission of time slot requests). The Final BackoffWindow may be selected to correspond to a number that is equal to orlarger than the (estimated) number of active CMs for a given upstreamchannel of a CMTS. Defining the Final Backoff Window to correspond to anumber that is greater than or equal to the number of CMs that maycompete for slots during the contention region, can ensure systemstability on one hand while adapting to the contention demand on theother. The value for the Final Backoff Window may change as more CMs onan upstream channel becomes active or as active CMs become inactive.

The number of active CMs may be estimated based on, among others, two orthree of the following measurements taken during a selected number ofMAP intervals: collision ratio, empty ratio, and success ratio. Thecollision ratio is the proportion of time slots within one or morecontention regions that contain collided time slot requests. The emptyratio is the proportion of time slots within one or more contentionregions that contain no time slot requests. The success ratio is theproportion of time slots within one or more contention regions thatcontain exactly one (successful) time slot request.

Once a given CM 5 receives a grant (yes branch of 84), it can transmit apacket in the granted slots (90). Moreover, if the same CM has morepackets to send (yes branch of 88), e.g., if the CM has a number ofpackets queued for upstream transmission, it can piggyback a subsequenttime slot request within the packet to be transmitted during the grantedslots (89). Again, piggybacking can streamline upstream packettransmission and reduce the contention overhead and thereby increaseupstream bandwidth available for user data. Basically, piggybacking canavoid the occurrence of collisions on the upstream channel during thecontention region by shifting time slot requests from contention regions(collisions likely) to grant regions (collision-free) once a given CMhas been granted the requested time slots for a first packet (yes branchof 84).

After generating (81) and broadcasting a MAP (82), the CMTS subsequentlyreceives the corresponding MAP interval loaded with data packets andtime slot requests according to the broadcasted MAP (91). In accordancewith the principles of the invention, the CMTS can then select asubsequent contention region based on the updated estimates of theaverage packet size and the piggyback ratio (92). As outlined above,dynamically adjusting the contention region based on these variables andoptionally others can improve upstream throughput under different and/orvarying traffic scenarios. In any case, the CMTS generates a subsequentMAP with the selected size of contention region, and the process of FIG.8 repeats.

A number of embodiments have been described. For example, varioustechniques have been described for improving upstream channel efficiencyin a reservation based TDMA system, such as a DOCSIS network.Nevertheless various modifications can be made without departing fromthe scope of the invention. For example, the same or similar techniquesmay be implemented in wireless and fiber optic packet-based networks orany other system that uses reservation-based TDMA techniques.Accordingly the terms map, map interval, TDMA map, contention region,grant region, and the like, apply in DOCSIS and non-DOCSIS TDMA systemsalike.

Techniques described herein may be implemented in CMTSs that providepacketized data communication service to the CMs. In either case,certain aspects of the techniques may be implemented in hardware,software, firmware, or any combination thereof. If implemented insoftware, the techniques may be directed to a computer readable mediumcomprising program code, that when executed, perform one or more of thetechniques described herein. For example, the computer readable mediummay store computer readable instructions that when executed in aprocessor such as a digital signal processor (DSP) cause the respectiveCMTS to carry out one or more of the techniques described herein. Theseand other embodiments are within the scope of the following claims.

1. A method comprising: selecting a size of a contention region forcontrolling upstream communication; generating information defining theselected contention region; transmitting the information to a set ofdevices; receiving upstream communications from the set of devices, andreceiving the upstream communications includes: receiving time slotrequests during contention regions of map intervals, receiving packetsduring grant regions of map intervals, and receiving piggybacked timeslots requests, and selecting a different size of another contentionregion in response to the received communications.
 2. The method ofclaim 1, further comprising selecting the size of the contention regionsbased at least in part on a piggyback ratio, the piggyback ratio being aratio of a number of piggybacked time slot requests relative to a totalnumber of time slot requests.
 3. The method of claim 1, furthercomprising selecting the size of the contention regions based at leastin part on an average packet size.
 4. The method of claim 1, furthercomprising selecting the size of the contention regions based at leastin part on a piggyback ratio and an average packet size of packets, thepiggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 5. The methodof claim 4, further comprising selecting the size of the contentionregions approximately according to the following equation:${\frac{c}{\tau} \approx \frac{1}{1 + {(0.368)(L)\left( \frac{1}{1 - \beta} \right)}}},$wherein c is a number of contention slots in the contention regions, τis a number of slots in the map intervals, L is the average packet size,and β is a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests relative to a total number oftime slot requests.
 6. The method of claim 1, wherein the devicescomprise cable modems.
 7. A method comprising: selecting a size for acontention region of a time division multiple access (TDMA) map intervalbased on a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests received during one or moreprevious grant regions relative to a total number of time slot requestsreceived during one or more previous contention regions and previousgrant regions; and transmitting a TDMA map to a set of cable modems, theTDMA map defining TDMA map interval that includes the selectedcontention region and a grant region.
 8. The method of claim 7, furthercomprising selecting the size of the contention region based at least inpart on an average packet size of packets estimated from measurementstaken on the grant regions.
 9. The method of claim 8, further comprisingweighting the average packet size and the piggyback ratio duringestimation such that communications received more recently are givenlarger weights.
 10. A method comprising: receiving information defininga selected contention region of a map interval for upstreamcommunication and the selected contention region define a size selectedbased at least in part on a piggyback ratio, the piggyback ratio being aratio of a number of piggybacked time slot requests relative to a totalnumber of time slot requests; transmitting data according to the mapinterval; and receiving different information defining a differentselected contention region of a different map interval for upstreamcommunication.
 11. A device that controls upstream scheduling in areservation-based time division multiple access (TDMA) system, thedevice being configured to: select a size of a contention region fortransmitting upstream time slot reservations; generate informationdefining the selected contention region; transmit the information to aset of devices; receive upstream communications from the set ofdownstream devices which includes receiving time slot requests duringcontention regions of map intervals, receiving packets during grantregions of map intervals, and receiving piggybacked time slot requests;and select a different size of another contention region in response tothe received communications.
 12. The device of claim 11, thereservation-based TDMA system comprising a cable network, wherein thedevice comprises a cable modem termination system (CMTS) and the set ofdownstream devices comprise a set of cable modems.
 13. The device ofclaim 11, the device being further configured to select the size of thecontention regions based at least in part on a piggyback ratio, thepiggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 14. Thedevice of claim 11, the device being further configured to select thesize of the contention regions based at least in part on an averagepacket size.
 15. The device of claim 11, the device being furtherconfigured to select the size of the contention regions based at leastin part on a piggyback ratio and an average packet size, the piggybackratio being a ratio of a number of piggybacked time slot requestsrelative to a total number of time slot requests.
 16. The device ofclaim 15, the device being further configured to select the size of thecontention regions approximately according to the following equation:${\frac{c}{\tau} \approx \frac{1}{1 + {(0.368)(L)\left( \frac{1}{1 - \beta} \right)}}},$wherein c is a number of contention slots in the contention regions, τis a number of slots in the map intervals, L is the average packet sizeand β is a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests relative to a total number oftime slot requests.
 17. An upstream scheduler for a reservation-basedtime division multiple access (TDMA) system, the upstream schedulerbeing configured to: select a size of a contention region fortransmitting upstream time slot reservations; generate informationdefining the selected contention region; transmit the information to aset of devices; receive upstream communications from the set ofdownstream devices; and select a different size of another contentionregion in response to the received communications the upstream schedulerbeing further configured to select the size of the contention regionsbased at least in part on a piggyback ratio and an average packet size,the piggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 18. Theupstream scheduler of claim 17, wherein the upstream scheduler comprisescomputer readable instructions stored on a computer readable medium andexecuted by a processor.
 19. The upstream scheduler of claim 17, theupstream scheduler being further configured to: receive time slotrequests during contention regions of map intervals; receive packetsduring grant regions of map intervals; and receive piggybacked time slotrequests.
 20. The upstream scheduler of claim 17, the upstream schedulerbeing further configured to select the size of the contention regionsbased at least in part on a piggyback ratio, the piggyback ratio being aratio of a number of piggybacked time slot requests relative to a totalnumber of time slot requests.
 21. The upstream scheduler of claim 17,the upstream scheduler being further configured to select the size ofthe contention regions based at least in part on an average packet size.22. The upstream scheduler of claim 17, the upstream scheduler beingfurther configured to select the size of the contention regionsapproximately according to the following equation:${\frac{c}{\tau} \approx \frac{1}{1 + {(0.368)(L)\left( \frac{1}{1 - \beta} \right)}}},$wherein c is a number of contention slots in the contention regions, τis a number of slots in the map intervals, L is the average packet sizeand β is a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests relative to a total number oftime slot requests.
 23. The upstream scheduler of claim 17, the upstreamscheduler being further configured to weigh the average packet size andthe piggyback ratio such that measurements taken more recently are givenlarger weights.
 24. A computer readable medium comprising program codethat when executed in a device that controls upstream scheduling in areservation based time division multiple access (TDMA) system: selects asize of a contention region for transmitting upstream time slotreservations; generates information defining the selected contentionregion; transmits the information to a set of devices; receives upstreamcommunications from the set of downstream devices; and selects adifferent size of another contention region in response to the receivedcommunications and the program code when executed selects the size ofthe contention regions based at least in part on a piggyback ratio, thepiggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 25. Thecomputer readable medium of claim 24, further comprising program codethat when executed in the device that controls upstream schedulingselects the size of the contention regions based at least in part on anaverage packet size.
 26. The computer readable medium of claim 24,further comprising program code that when executed in the device thatcontrols upstream scheduling selects the size of the contention regionsbased at least in part on a piggyback ratio and an average packet size,the piggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 27. Thecomputer readable medium of claim 24, further comprising program codethat when executed in the device that controls upstream schedulingselects the size of the contention regions approximately according tothe following equation:${\frac{c}{\tau} \approx \frac{1}{1 + {(0.368)(L)\left( \frac{1}{1 - \beta} \right)}}},$wherein c is a number of contention slots in the contention regions, τis a number of slots in the map intervals, L is the average packet size,and β is a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests relative to a total number oftime slot requests.
 28. The computer readable medium of claim 24,further comprising program code that when executed in the device thatcontrols upstream scheduling weighs the average packet size and thepiggyback ratio such that measurements taken more recently are givenlarger weights.
 29. A reservation based time division multiple access(TDMA) system comprising: a first device that controls upstreamscheduling in the reservation based TDMA system; and a set of seconddevices that communicate upstream in the reservation based TDMA system,the first device and set of second devices being configured such that:the first device selects a size of a contention region for upstreamcommunication, generates information defining the selected contentionregion, and transmits the information to a set of second devices; theset of second devices transmit upstream communications to the firstdevice and the first device receives the upstream communications fromthe set of second devices by receiving time slot requests duringcontention regions of map intervals, receiving packets during the grantregions of map intervals, and receiving piggybacked time slot requests;and the first device selects a different size of another contentionregion in response to the received communications.
 30. The system ofclaim 29, the first device including a cable modem termination system(CMTS) and the set of second devices including cable modems.
 31. Thesystem of claim 29, wherein the first device selects the size of thecontention regions based at least in part on a piggyback ratio, thepiggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 32. Thesystem of claim 29, wherein the first device selects the size of thecontention regions based at least in part on an average packet size ofpackets received during previous grant regions.
 33. The system of claim29, wherein the first device selects the size of the contention regionsbased at least in part on a piggyback ratio and an average packet size,the piggyback ratio being a ratio of a number of piggybacked time slotrequests relative to a total number of time slot requests.
 34. Thesystem of claim 33, wherein the first device selects the size of thecontention regions approximately according to the following equation:${\frac{c}{\tau} \approx \frac{1}{1 + {(0.368)(L)\left( \frac{1}{1 - \beta} \right)}}},$wherein c is a number of contention slots in the contention regions, τis a number of slots in the map intervals, L is the average packet size,and β is a piggyback ratio, the piggyback ratio being a ratio of anumber of piggybacked time slot requests relative to a total number oftime slot requests.
 35. A method comprising: selecting an initialbackoff window for a time division multiple access (TDMA) systemaccording to a size of a contention region of a map interval; selectinga final backoff window for the TDMA system to be greater than or equalto an expected number of active downstream devices; and transmitting theinitial and final backoff windows to the set of downstream devices foruse in upstream communication.
 36. The method of claim 35, furthercomprising estimating the expected number of active downstream devicesbased at least in part on a collision ratio, the collision ratio being aproportion of time slots within one or more contention regions thatcontain collided time slot requests.
 37. The method of claim 35, furthercomprising estimating the expected number of active downstream devicesbased at least in part on an empty ratio, the empty ratio being aproportion of time slots within one or more contention regions thatcontain no time slot requests.
 38. The method of claim 35, furthercomprising estimating the expected number of active downstream devicesbased at least in part on a success ratio, the success ratio being aproportion of time slots within one or more contention regions thatcontain exactly one successful time slot request.
 39. A device thatcontrols upstream scheduling in a reservation-based time divisionmultiple access (TDMA) system, the device being configured to: select aninitial backoff window for a time division multiple access (TDMA) systemaccording to a size of a contention region of a map interval; select afinal backoff window for the TDMA system to be greater than or equal toan expected number of active downstream devices; and transmit theinitial and final backoff windows to the set of downstream devices foruse in upstream communication.